package com.kyk.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 用户优惠券表
 * </p>
 *
 * @author 凯
 * @since 2025-09-12
 */
@Getter
@Setter
@TableName("user_coupons")
public class UserCoupons implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 用户优惠券ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 优惠券模板ID
     */
    private Long couponTemplateId;

    /**
     * 优惠券码
     */
    private String couponCode;

    /**
     * 状态: 0-未使用, 1-已使用, 2-已过期
     */
    private Byte status;

    /**
     * 有效期开始时间
     */
    private LocalDateTime startTime;

    /**
     * 有效期结束时间
     */
    private LocalDateTime endTime;

    /**
     * 使用时间
     */
    private LocalDateTime usedTime;

    /**
     * 使用的订单ID
     */
    private Long orderId;

    private LocalDateTime createdAt;

    private LocalDateTime updatedAt;
}
